package com.easygem.business.mapper;

import com.easygem.common.model.business.Account;
import com.easygem.common.model.system.User;
import com.easygem.common.vo.business.AccountVO;
import com.easygem.common.vo.business.ClientVO;
import com.easygem.common.vo.business.SysInformationVO;
import org.apache.ibatis.annotations.Param;
import tk.mybatis.mapper.common.Mapper;

import java.util.List;

/**
 * @author 何维佳
 * @version 1.0
 * @className AccountMapper
 * @Description TODO
 * @date 2025/1/13 14:11
 */
public interface AccountMapper extends Mapper<Account>, com.easygem.business.mapper.Mapper<Account>  {
    /**
     * 按条件多表关联查询客户账户信息
     * @return  集合列表
     */
    List<Account> selectAccountListByAccountList(Account account);

    int updateAccount(AccountVO accountVO);

    int deleteAccountById(Long Id);

    int  deleteUserByAccountName(@Param("accountName") String accountName);

    int  updateUserByAccountName(@Param("accountName") String accountName);

    int insertAccount(AccountVO accountVO);

    int insertClient(ClientVO clientVO);

    Long insertUser(User userVO);

    int insertSysInformation(SysInformationVO sysInformationVO);

    int insertUserRole(Long userId);

    Long getUserNewId();

    Integer getClientNewId();

    int findAccountName(String accountName);

    int deleteInfoByUserStatus();

    int updateInfoByUserStatus();

    int chackCircuritIdIsChange(AccountVO accountVO);

    int updateUserCircuritIdByAccountName(AccountVO accountVO);
}
